Help file for GoScript.

@@Contents
HelpOnHelp   : `1Help on Help`0   How to use the help facility.
Overview     : `1Overview`0       Describes what the script editor is used for.
Variables    : `1Variables`0      Describes the variables used in scripts.
@@SectionHdr :
@@SectionHdr :                    `2Menu Items`0
@@SectionHdr :
File         : `1File`0 menu contains of the following menu items:
New          :   `1New`0          Create a new script file.
Open...      :   `1Open`0         Open an existing script file for editing.
Save         :   `1Save`0         Save the current script to a file.
SaveAs...    :   `1Save As`0      Save the script to a different file.
Insert File  :   `1Insert File`0  Insert a script file at the current line.
Print...     :   `1Print`0        Print the script file.
Exit         :   `1Exit`0         Quit the script editor.
@@SectionHdr :
Edit         : `1Edit`0 menu contains the following menu items
Cut          :   `1Cut`0          Move the current command to the clipboard.
Copy         :   `1Copy`0         Copy the current command to the clipboard.
Paste        :   `1Paste`0        Insert clipboard's script command.
Delete Line  :   `1Delete Line`0  Remove the command from the script.
Labels...    :   `1Labels`0       Display the `1Label Maintenance`0 dialog
@@SectionHdr :
Add          : `1Add`0            Menu used to add a script command to script.
@@SectionHdr :
Detail       : `1Detail`0         Display the script command's detail dialog box.
@@SectionHdr :
Help         : `1Help`0           Menu to get help for using `1GoScript`0.
Topics       :   `1Topics`0        Displays help's table of contents.
Help On Help :   `1Help On Help`0 Expains how to use the help facility.
About        :   `1About`0        Displays information about `1GoScript`0.
@@SectionHdr :
@@SectionHdr :                   `2Script Commands`0
Beeper       : `1Beeper`0         Sound the computer's internal speaker.
BlankScreen  : `1BlankScreen`0    Cause the screen to blank.
Chain        : `1ChainTo`0        Start executing another scriptfile.
KeySpeed     : `1KeySpeed`0       Change the speed at which keys are played back.
Comment      : `1Comment`0        Add a text description.
CopyTo       : `1Copy`0           Copy a script variable or string.
Date         : `1DateStamp`0      Insert a date stamp.
Delay        : `1Delay`0          Pause execution of script for a specified period of time.
DoMenu       : `1DoMenu`0         Create a pop-up menu.
GetArg       : `1GetArgument`0    Get an argument from the command line or prompt.
GetKey       : `1GetKey`0         Wait for a key to be pressed.
Goto         : `1Goto`0           Always transfer execution the the label specified.
IfGoto       : `1IfGoto`0         Execute a conditional branch.
Keystrokes   : `1Keys`0           Type the specified keys.
LabelScript  : `1Label`0          Insert a marker that can be jumped to.
MessageBox   : `1MessageBox`0     Display a message box.
PrintScrn    : `1PrintScreen`0    Print the contents of the screen.
PutSnapShot  : `1PutSnapShot`0    Display a snapshot file.
Reboot       : `1Reboot`0         Reboot the computer.
RunTask      : `1RunTask`0        Run a scheduled task.
Debug        : `1ScriptDebug`0    Turn on/off script debugging.
SetStuff     : `1StuffMethod`0    Modify the method used to stuff keys.
TakeSnapShot : `1TakeSnapSht`0    Save a portion of the display to file.
Time         : `1TimeStamp`0      Insert a time stamp.
ToggleKeys   : `1ToggleKeys`0     Toggle Caps, NumLock, and Ins keys.
WaitPrompt   : `1WtDOSPrompt`0    Wait until returned to DOS prompt.
WaitAt       : `1WaitAtPos`0      Wait for text to appear in a region on the screen.
WaitRel      : `1WaitRelCrs`0     Wait for text to appear relative to the cursor.
EmptyBuff    : `1WaitKeyBuff`0    Wait until all keys have been accepted.
@@EndContents

KeyFile      : `1KeyFile`0        Playback keys stored in a file.


@@Help
[HelpOnHelp]
To use help, select the topic you want help on from the topics
list (enter 'T' to get back to the topics list). Use the
cursor and page keys to scroll through the text. The `2 Next`0
and `2 Previous `0 buttons move to the next and previous
topic, respectively.

All of the buttons in `1GoHelp`0 can be executed by simply
pressing the key that is highlighted on the button. You can
also TAB to the button or press it's accelerator key (press
<ALT> + key hightlighted on button label).

To get help on a particular program, run `1GoHelp`0 with the
first argument on the command line set: `1GoHome`0,
`1GoScript`0, `1GoSched`0, or `1GoEd`0. You can also run
`1GoHelp`0 with no arguments, in which case you will be
presented with a menu to select the program you want help on.

■


[Overview]
`1GoScript`0 is used to modify or create scripts that
`1GoHome`0 can play back. `1GoHome`0 allows you to create new
scripts and to record keystrokes, add `2WaitAtPos`0 and
`2WaitRelCrs`0 commands, and a number of other commands while
running the program you want to automate. 

`1GoScript`0 makes modifying and adding commands simple
because it doesn't require you to remember all the commands
and the parameters they require. Instead, `1GoScript`0 uses
menus and dialog boxes that prompt you for the needed data. In
addition, `1GoScript`0 doesn't require a seperate "compile"
phase that other script languages need - scripts are compiled
automatically.  

■

[Variables]
GoHome uses five program variables. A program variable is used
to store a specific piece of data. Depending on the variable,
the data may be numeric or a text string. Two of the variables
contain numeric values that are set and maintained by GoHome,
the other three variables contain text strings that can be
modified by the script in any manner it sees fit to. The
following table lists the names and purposes of these
variables.

  Variable Name     Purpose
----------------------------------------------------------------------

  `2Result`0      : Set to "OK", "Not OK", or "timed-out" depending
                on whether the last script command was 
                successful, not successful, or timed-out, 
                respectively.

  `2MenuItemSel`0 : Contains the last menu item selected from a 
                `1DoMenu`0 script command. Valid values are 
                'None' if user canceled menu (ie. hit ESC key),
                and 1, 2, ..., 9.

  `2StringA`0     
  `2StringB`0     
  `2StringC`0     : These are general purpose string variables. 
                Each may contain up to 80 characters. Any 
                strings that are copied to these variables
                may contain two of GoHome's embeded macros.
                An embeded macro is either another string
                variable or an environment varialbe. These
                macros are denoted by prefacing them with
                percent signs ('%'). For example, if
                StringA contains the string "Hello", and
                there's an environment variable 'COMSPEC' 
                that contains "C:\command.com" then:
                    
        "%StringA, World!"    => "Hello, World!" 
        "Say %StringA to all" => "Say Hello to all"
        "Comspec is %comspec  => "Comspec is C:\command.com"

GoHome also allows the following macro characters to be used
within strings:
  `2%CR`0    : Carriage return character
  `2%NL`0    : New-line character
  `2%CN`0    : Both a carriage return and new-line characters
  `2%FF`0    : Form-feed character
  `2%TB`0    : tab character
  `2%#n`0    : character represented by ASCII number, 'n'

These macros are especially useful when writing strings to the
printer or a file. For example, the following could be used to
send the value of variable StringA to the printer:

  `1"%stringa%CN"`0

All the variables and macro characters are case insensitive.
■

[RunTask]
`1RunTask`0 will run the specified task that is in GoSched's
Task List. Before running the specified task, GoHome 
terminates the current script file (when the specified task 
finishes, the script does NOT continue).

■

[Comment]
The `1Comment`0 statement has no effect during playback of the 
script. It can be used to document what the script does, how it 
works, or anything else you feel is important.
■

[Keystrokes]
The keystrokes entered will be played back just as if you 
where typing them in manually.  To enter an edit key (ie. 
'─', '', <Enter>) press the <Shift><Ins> keys simultaneously.
From this point on, `2all`0 keys pressed will be entered
into the script.  When you're done, press <Shift><Ins> to 
return to normal edit mode.

To modify the time interval between keystrokes, bring up the
detail dialog for `1Keys`0 by pressing <Alt><D>. Position
the cursor over the key whose interval you want to change.
Tab to the "Delay Interval" field and modify the interval.
The interval entered is expressed in `1timer ticks`0 where
1 timer tick is 1/18 secs.

The keyboard `1status/toggle`0 keys are entered using the 
`2<F10>`0 key. Before pressing the <F10> key, hold down all
status/toggle keys. For example, if you want to enter the
<Alt> key, press and hold the <Alt> key, then press <F10>, and
release both keys. 

The keyboard `1status/toggle`0 keys are displayed as "<Flags:?>" 
where '?' is a hexadecimal number indicated by the following
table:

      8 4 2 1 8 4 2 1
      x . . . . . . .   Lock <Ins>
      . x . . . . . .   Lock <Caps Lock>
      . . x . . . . .   Lock <Num Lock>
      . . . x . . . .   Lock <Scroll Lock>
      . . . . x . . .   <Alt> key is pressed
      . . . . . x . .   <Ctrl> key is pressed
      . . . . . . x .   <Left Shift> key is pressed
      . . . . . . . x   <Right Shift> key is pressed


For example, `2Keys`0 might display the following:
    `1<Flags:8>`0  : The <Alt> is pressed
    `1<Flags:84>`0 : The <Ctrl> is down and the <Ins> key
                     is locked (enabled)
    `1<Flags:a8>`0 : The <Ins> key is locked, the <Num Lock>
                     key is locked, and the <Alt> key is 
                     pressed.
    `1<Flags:a0>`0 : Same as above but with <Alt> key 
                     released.
 

When `1GoHome`0 is used to record keystrokes, it will record
all <Alt> key presses and releases. Some applications don't
care if the <Alt> key flags are set but other do. If the 
keystrokes were not recorded, you may have to enter the 
Alt key flag before and Alt key is pressed and then enter
the Alt key release after the Alt Key. For example, if you
press <Alt><F>, it may be necessary to record the Alt key
flags such as: <Flags:8><Alt-F><Flags:0>

It if VERY `1Important`0 that the Flag keys are entered 
and removed in pairs. If this is not done, the application
may get confused and not work properly.

Note: `1GoScript`0 will break up long keystroke sequences 
into multiple lines.
■

[SetStuff]
The `1StuffMethod`0 is used to modify the way that 
keystrokes are played back. It should only be used if a
program doesn't seem to accept the keystrokes played back
by GoHome. 

Technically, this method will generate an interrupt 9 
whenever a keystroke is stuffed into the keyboard's 
type-ahead buffer.

■

[WaitAt]
Use `1WaitAtPos`0 when you want to pause execution of the script
until a specific pattern of characters appears on the screen. 
You define a region of the screen to 'look' at by specifying
the top-left row and column, width, and height of the region.
You also must specify the pattern of characters that you
want GoHome to wait for.  When the script is played back, GoHome
will search for the text in the region specified twice 
a second until either the text is found to match or a
timeout occurs.

The search string may be up to 40 characters.

`1Result`0 variable is set to: 
        `3OK`0       : if match was found
        `3TimedOut`0 : if a match wasn't found within the given 
                   timeout period.
                             
Note: The search string may be one of the three GoHome 
      internal strings (ie. %StringA), an environment 
      variable (ie. %SHELL) or any of the 'macro'
      characters (see `2Script Variables`0).
■

[WaitRel]
Use `1WaitRelCrs`0 when you want to pause execution of the script
until a specific pattern of characters appears on the screen. 
`1WaitRelCrs`0 is similar to `1WaitAtPos`0 except the region that
is searched is `2relative`0 to the current cursor position.

The search string may be up to 40 characters.
 
`1Result`0 variable is set to: 
        `3OK`0       : if match was found
        `3TimedOut`0 : if a match wasn't found within the given 
                   timeout period.
                            
Note: The search string may be one of the three GoHome 
      internal strings (ie. %StringA), an environment 
      variable (ie. %SHELL) or any of the 'macro'
      characters (see `2Script Variables`0).
■

[Delay]
`1Delay`0 will pause the execution of the script for the 
specified number of minutes and seconds. The maximum number 
of minutes that can be delayed is 1,092 (18.2 hours). If for
some reason you need a longer delay, use multiple delay 
statements.
■

[DoMenu]
`1DoMenu`0 will pop-up a menu and allow the user to make a
selection. The menu is defined by selecting `2Detail...`0 from
the menu bar (<Alt>D). You can give the menu a title and up
to 10 menu items. The item selected by the user is stored in
the variable `2Menu Item Sel`0. This variable can be used in
an `2IfGoto`0 statement to determine which item was selected 
and perform whatever is necessary.  If the user hit the `3ESC`0
key to abort the menu, `2Menu Item Sel`0 will contain a 0.

`1Result`0 variable is set to: 
        `3OK`0       : if user selected a menu item.
        `3Not OK`0   : if user canceled menu.
        `3TimedOut`0 : if a menu selection wasn't entered within
                   the given timeout period.


Note: Set the `1Timeout`0 value to `10`0 to keep the menu
      from timing-out (i.e. an <Enter> MUST be pressed).
      

           ╔════════════ DoMenu Edit ═══════════╗
           ║                                    ║
           ║       ╒════   Macro Menu·· ══╕     ║
           ║     1 │ N  Name              │     ║
           ║     2 │ A  Address           │     ║
           ║     3 │ D  Today's Date      │     ║
           ║     4 │ W  Start Word Proc   │     ║
           ║     5 │ R  Run Task 1        │     ║
           ║     6 │ T  Date/Time Stamp   │     ║
           ║     7 │                      │     ║
           ║     8 │                      │     ║
           ║     9 │                      │     ║
           ║       └──────────────────────┘     ║
           ║         ^── Enter HotKey char      ║
           ║                                    ║
           ║           Timeout  0     ▄         ║
           ║           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀         ║
           ║           OK    ▄    Cancel  ▄     ║
           ║        ▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀     ║
           ╚════════════════════════════════════╝

■

[IfGoto]
`1IfGoto`0 allows conditional processing of script commands. If
the test condition is true, then the next script command to be 
executed will be the statement at the specified label. 

  ╔══════════════════════════ If Goto ════════════════════════╗
  ║                                                           ║
  ║    Variable:            Test Condition:    Value:         ║
  ║ If Result           ▄   Not Equal      ▄   Timed out▄     ║
  ║    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀     ║
  ║    then goto Label   END             ▄    Labels... ▄     ║
  ║                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀▀▀▀     ║
  ║                                                           ║
  ║                   OK    ▄     Cancel  ▄                   ║
  ║                ▀▀▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀▀▀                   ║
  ╚═══════════════════════════════════════════════════════════╝

■

[Goto]
`1Goto`0 will transfer execution to the script command which 
immediately follows the label specified.
■

[LabelScript]
A `1Label`0 acts as a marker in the script to which a `1Goto`0
or `1IfGoto`0 statement can jump to. The detail dialog for 
`1Label`0s, allows for a label to be selected from a list
of all labels referenced by `1IfGoto`0 and `1Goto`0 commands
that have not yet been entered.

If a label is modified, all `1IfGoto`0 and `1Goto`0 commands
that reference it will be updated to use the modified label.


     ╔════════════ Label Maintenance ═══════════╗
     ║                                          ║
     ║  ┌────── Label ──────┐                   ║
     ║  │- END              ▓        Add... ▄   ║
     ║  │                   ▓      ▀▀▀▀▀▀▀▀▀▀   ║
     ║  │                   ▓       Remove  ▄   ║
     ║  │                   ▓      ▀▀▀▀▀▀▀▀▀▀   ║
     ║  │                   ▓        Use    ▄   ║
     ║  │                   ▓      ▀▀▀▀▀▀▀▀▀▀   ║
     ║  │                   ▓        Done   ▄   ║
     ║  └──────────────────        ▀▀▀▀▀▀▀▀▀▀   ║
     ║   -: label not in script                 ║
     ╚══════════════════════════════════════════╝

■

[CopyTo]
The `1Copy`0 command is very versatile. It allows for the
values of script variables, text strings, and environment
variables to be copied to a script variable, typed
automatically at the keyboard, copied to an environment
variable, copied to a file, displayed on the screen, or sent
to a printer.  

You indicate what to copy "From" and "To" by selecting the
proper radio button in the Copy dialog box.  

Options for `1From`0
  `1Variable`0   : The contents of any of the three String
               variables.
  `1String`0     : Can be any text. Macro characters and
               strings may also be used. For example,
               "Contents of StringA is %StringA"
               see `2Variables`0 for macro characters.
  `1Env Var`0    : Enter the name of the environment variable
               to be copied (i.e. "PATH").
               The string is retrieved from the current 
               program's enviroment table.

Options for `1To`0 
  `1Variable`0   : The contents of any of the three String
               variables.
  `1Keyboard`0   : Copy from field to the keyboard buffer.
  `1Environment Table`0 : The `1From`0 field MUST contain
               a properly formated environment variable
               and value (i.e. "HOME=C:\DOS"). The
               string is NOT checked for validity.
               The string is inserted into the current 
               program's envirionment table.
  `1File`0       : Appends the string to the file specified.
  `1Display`0    : Writes the string to the display screen.
  `1Printer`0    : Sends the string out to a parellel printer
               port.

Examples:
  To set a new environment variable, 'NEWVAR' to 'ADDED', 
  select `1String`0 in the `2From`0 box and type in the field
  to its right, "NEWVAR=ADDED". Then select `1Environment Table`0
  in the `2To`0 box.

  To retrieve the value of environment variable 'NEWVAR' into
  variable `1StringA`0, select `1Env Var`0 in the `2From`0 box
  and select `1Variable StringA`0 in the `2 To`0 box.

  To copy the string "Downloaded files:" to file "newfiles.txt",
  select `1String`0 in `2From`0 box and enter 
  "Downloaded files:%CN" in the field beside it (note that %CN 
  is used to write a carriage-return/newline pair to the file).
  In the `2To`0 box, select the `1File`0 radio button and enter
  "c:\new\newfiles.txt" in the field beside it.

  TIP: You can use the copy command to display text on the
       screen. This may be useful when debugging a script.


 see also: `4Variables`0

   ╔═════════════════════ Copy ════════════════════════╗
   ║                                                   ║
   ║      ┌ From ───────────────────────────────┐▄     ║
   ║      │( ) Variable   String A             │█     ║
   ║      │() String     Stock Quotes current  │█     ║
   ║      │( ) Env Var                          │█     ║
   ║      └─────────────────────────────────────┘█     ║
   ║       ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀     ║
   ║      ┌ To ─────────────────────────────────┐▄     ║
   ║      │( ) Variable   String A             │█     ║
   ║      │( ) Keyboard                         │█     ║
   ║      │( ) Environment Table                │█     ║
   ║      │() File       c:\stckqtes.txt·····  │█     ║
   ║      │( ) Display   row=      col=         │█     ║
   ║      │( ) Printer                         │█     ║
   ║      └─────────────────────────────────────┘█     ║
   ║       ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀     ║
   ║                OK   ▄       Cancel  ▄           ║
   ║              ▀▀▀▀▀▀▀▀▀▀      ▀▀▀▀▀▀▀▀▀▀           ║
   ╚═══════════════════════════════════════════════════╝

■

[GetKey]
The `1GetKey`0 command is used to wait until the user presses
a key before continuing with the next script command. The
`1GetKey`0 command will halt any program that is running. 

A timeout value may be specified. It the timeout is non-zero,
`1GetKey`0 will wait until either a key is hit or the 
specified timeout value is reached.

`1Result`0 variable is set to: 
        `3OK`0       : if user hit a key.
        `3TimedOut`0 : if user didn't hit a key within the 
                   given timeout period.
■

[EmptyBuff]
`1WaitKeyBuff`0 will wait until all keys in the keyboard's
type ahead buffer have been retrieved by the running program.
■

[WaitPrompt]
`1WtDOSPrompt`0 will pause execution of the script until it
returns to the DOS prompt.

■

[MessageBox]
`1MessageBox`0 is used to display up to four lines of text
in a window. The message box can be positioned at any row 
and column. The default is to center the window on the screen.

A timeout value may also be specified.

`1Result`0 variable is set to: 
    `3OK`0       : if user acknowledged the message box by
                   pressing ENTER.
    `3Not OK`0   : if user canceled (hit ESC) message box.
    `3TimedOut`0 : if message box wasn't acknowledged within
               the given timeout period.
■

[Beeper]
`1Beeper`0 will beep the computer's internal speaker.  The 
sound heard depends on which type of beep is selected:

        Alarm
        Peep
        Whoop
        Phasor
        Error
■

[Reboot]
`1Reboot`0 will cause the computer to reboot itself.
A message box will appear and state that the computer
is about to be rebooted. Pressing <Esc> will abort
the reboot, pressing <Enter> will continue the reboot
process. If a key is not pressed within 60 seconds,
the `1GoHome`0 will go ahead and reboot the PC.
■

[PrintScrn]
`1PrintScreen`0 will execute the computers print screen
command. This will, usually, print the screen to the LPT1
printer port.

`1Result`0 variable is set to: 
        `3OK`0     : if screen printed succesfully
        `3Not OK`0 : if a printer error was detected.
■

[Date]
The `1DateStamp`0 command allows for a number of different date
formats. The first edit field, "Enter the date format string",
is used to specify how the date should be displayed. The text
below the edit fields show what characters to use when
specifying the date format.  The formatted date can be copied
to any of the `1Script Variables`0 or the keyboard.

For example, say we want the date to appear in mm/dd/yy format
(i.e.  03/19/94). Therefore, we would enter "M/D/y" in the
date format field.  When GoHome plays this script, it will
substitute the actual month, day, and year in place of the "M"
"D" and, "y" characters.  Note that any characters other than
"W" "m" "M" "D" "Y" and "y" will be displayed normally.  If
you prefer the date to use dashes instead of slashes, type in
"M-D-y".

     ╔═══════════════════ Date Edit ═════════════════════╗
     ║                                                   ║
     ║  Enter the date format string  W m D, Y        ▄  ║
     ║  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ║
     ║  Copy to  Keyboard  ▄      OK    ▄   Cancel  ▄    ║
     ║  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀    ║
     ║  The following characters have special meaning    ║
     ║  W  -> Week day (ie sun, mon, etc.)               ║
     ║  M  -> Month as digits                            ║
     ║  m  -> Month as 3 letter abrev.                   ║
     ║  D  -> Day as digits.                             ║
     ║  Y  -> Year as 4 digits                           ║
     ║  y  -> Year as 2 digits                           ║
     ║  $  -> To print the special characters above.     ║
     ║  any other char is passed through.                ║
     ║  For example,                                     ║
     ║  W m D, y     =>  Tue Mar 19, 1993                ║
     ║  M-D-y        =>  03-19-93                        ║
     ║  Toda$y is m D, Y =>  Today is Mar 19, 1994       ║
     ╚═══════════════════════════════════════════════════╝
■

[Time]
The `1TimeStamp`0 command will copy a formatted time string to any 
of the `1Script Variables`0 or the keyboard. The format for
the time is specified by selecting the appropriate radio
buttons in the `1TimeStamp`0 dialog box.

     ╔═══════════════════ Time Edit ════════════════════╗
     ║                                                  ║
     ║   ┌ Time Format ──┐▄   ┌ Time Modifier ──────┐▄  ║
     ║   │  ( ) HH       │█   │  ( ) 12 hour        │█  ║
     ║   │  (.) HH:MM    │█   │  (.) 12 hour AM/PM  │█  ║
     ║   │  ( ) HH:MM:SS │█   │  ( ) 24 hour        │█  ║
     ║   └───────────────┘█   └─────────────────────┘█  ║
     ║    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ║
     ║               Copy to  Keyboard  ▄               ║
     ║               ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀               ║
     ║                                                  ║
     ║               OK    ▄       Cancel  ▄            ║
     ║            ▀▀▀▀▀▀▀▀▀▀      ▀▀▀▀▀▀▀▀▀▀            ║
     ╚══════════════════════════════════════════════════╝
■

[KeySpeed]
The `1KeySpeed`0 command affects the rate at which keys are
played back. If the value for `1KeySpeed`0 is -1, then the
keys are played back at the same rate as they were recorded or
entered. A value of 0 will play the keys back as fast as a
program will accept them. Any other value indicates the number
of timer ticks (1/18 of a second) to wait between keys. Note
that for values other than -1, the recorded rate is ignored.

■

[TakeSnapShot]
The `1TakeSnapsht`0 command is used to save a portion of the 
screen to a file.

`1TakeSnapsht`0 requires seven parameters.  You specify the
top-most row, left-most column, width, and height for the
section of the screen that should be saved, whether to save the
video attributes (i.e. colors), allow the section of the
screen to be selected interactively, and the name of the file
to save the screen to. 

`1TakeSnapsht`0 doesn't have a detail dialog box because the
parameters can be entered next to the command.  Rows (r) range
from 1 to the number of lines on the screen, typically 25. 
Columns (c) range from 1 to the number of columns that can be
displayed, usually 80.  The width and height are denoted on
the edit line by a "w" and "h" respectively.  If attributes
are to be saved, enter a 1 the attrs field; to save just the
text, enter 0.  Similarly, enter a 1 in the "i" (or
interactive) field to allow the user to designate the portion
of the screen interactively.  Finally, the file field is for
the file name which accepts a string variable or a specific
file name.

`1Result`0 variable is set to: 
        `3OK`0       : if snapshot sucessfully taken.
        `3Not OK`0   : if snapshot was unsucessful. This may
                   be due to a disk error while attempting
                   to save the screen or the user canceled an
                   interactive snapshot by pressing ESC.
■

[PutSnapShot]
The `1PutSnapShot`0 command is used to restore or display a 
previous snapshot. 

`1Result`0 variable is set to: 
        `3OK`0       : if snapshot sucessfully restored.
        `3Not OK`0   : if snapshot was unsucessful in trying to
                   restore the screen image. This may be 
                   due to a corrupt snapshot file or the
                   snapshot file wasn't found.
■


[BlankScreen]
The `1BlankScreen`0 command is used to set the number of 
minutes of keyboard inactivity before the screen is blanked.
A value of `10`0 for the minutes will disable screen 
blanking.

■

[Debug]
The `1ScriptDebug`0 command will either turn off or on GoHome's
debug display. If `1ScriptDebug`0 is on, GoHome will display the 
current script command on the first row of the screen. It
will also display the screen region selected for the 
`1WaitAtPos`0 and `1WaitRelCrs`0 commands.

To turn `1ScriptDebug`0 on, enter a `21`0, else enter a `20`0.

■

[Chain]
`1ChainTo`0 to script allows you to run another script while playing
back the current script.  As an example, you may have a simple
script that just pop-ups a menu and depending on what menu item
was selected, it will chain to another script file.

It is possible to pass parameters with the chain command just
like you can do when initially starting a script. You can also
pass data to the new script file throught the script strings.

Control does NOT return to the script that executed the chain.
If the script file cannot be found, then the current script is
aborted. 

`1Result`0 variable is set to: 
        `3Not OK`0   : if file to chain to wasn't found or was
                   not a valid GoHome script file.

■

[ToggleKeys]
The `1ToggleKeys`0 command is used to change the status of the
`2Caps Lock`0, `2Num Lock`0, and `2Insert`0 keys.

■


[GetArg]
`1GetArgument`0 gets a specified argument from the command line. 
If an argument wasn't provided, then you will be prompted
for the argument.  A timeout value may be specified in which
if an argument isn't provided within 'timeout' seconds, the
prompt dialog box is brought down and the script continues
with the next script statement. 

Arguments may be specifed when prompted for the script file 
to run or within `1GoSched`0 on the file name line. Arguments
are separated by `1commas`0 (,).  The 0-th argument is the
name of the script file.  Argument 1 is the value entered
after the script file name.  For example, if you specify the
following:

  `1backup.scr  c: d: e:, incremental`0

then
  Argument 0 =>  backup.scr
  Argument 1 =>  c: d: e:
  Argument 2 =>  incremental
  any other number will result in a dialog box being 
  displayed and prompting the user for the argument.

If prompted and timeout occurs or ESC if entered, the
argument will be assigned the `2Empty Str`0 value.

The maximum number of characters that can be entered for the
script file name and all of its arguments is 80 from GoSched
and 60 if the Playback script command is selected from
`1GoHome's`0 main menu.

It is possible to use `1script macros`0 within arguments.

`1Result`0 variable is set to: 
        `3OK`0       : if argument gotten from command line or
                       from user.
        `3Not OK`0   : if user canceled prompt dialog box
        `3TimedOut`0 : if data wasn't entered at the prompt 
                   dialog within the given timeout period

        ╔═══════════ Get Argument ═════════════╗
        ║                                      ║
        ║    Argument Number  1· ▄             ║
        ║    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀             ║
        ║    Prompt   Save to file         ▄   ║
        ║    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ║
        ║    Copy to  String A  ▄              ║
        ║    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀              ║
        ║    Timeout  0     ▄                  ║
        ║    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀                  ║
        ║                                      ║
        ║           OK    ▄     Cancel  ▄      ║
        ║        ▀▀▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀▀▀      ║
        ╚══════════════════════════════════════╝
■


[File]
The `1File`0 menu is used to execute all script file related
commands.  Script files can be created, opened, saved, saved
to another file, inserted into the current script, or
printed to a printer.

■

[New]
The `1New`0 menu item in the `1File`0 menu is used to create 
a new script file. You will be prompted for a file name when
the file is saved.
■

[Open...]
The `1Open`0 menu item in the `1File`0 menu is used to edit
a script file that already exists. The current script file
will be saved to disk, if necessary.

■

[Save]
The `1Save`0 menu item in the `1File`0 menu is used to save
changes that were made to the script.
■

[SaveAs...]
The `1SaveAs...`0 menu item in the `1File`0 menu is used to save
the current script to a file with a different name.
■

[Insert File]
The `1Insert File`0 menu item in the `1File`0 menu is used to 
insert the contents of another script file into the current
script. The contents are added into the current script at the
row that is currently highlighted.

`1GoScript`0 will attempt to merge all labels and label 
references of the script being inserted with those of the
script currently being edited. If the same label is defined
by both scripts, `1GoScript`0 will notify you of the
situation. It will not attempt to rename the labels, it is
up to you to do so.  

■

[Print...]
The `1Print...`0 menu item in the `1File`0 menu is used to print
the script to a file. When selected, you will be prompted to 
select the printer port that you printer is using.
■

[Exit]
The `1Exit`0 menu item in the `1File`0 menu is used to quit
`1GoScript`0. If the script was modified, `1GoScript`0 will 
prompt to save the file before exiting. 
■

[Edit]
The `1Edit`0 menu is used to cut/paste script items to/from
the Clipboard, delete the current script item, and to add
and delete labels used in the script.
■

[Cut]
The `1Cut`0 menu item in the `1Edit`0 menu will delete the
current script item from the script and copy it to the 
Clipboard. Once it is in the Clipboard, use `1Paste`0 to
copy it to the current location in the script.
■

[Copy]
The `1Copy`0 menu item in the `1Edit`0 menu will copy the
current script item from the script and copy it to the 
Clipboard. Once it is in the Clipboard, use `1Paste`0 to
copy it to the current location in the script. Note this 
`1Copy`0 is different from `1Cut`0 in that it does not delete
the script item from the script.
■

[Paste]
The `1Paste`0 menu item in the `1Edit`0 menu is used to insert
copy the contents of the Clipboard into the script at the 
current location.
■

[Delete Line]
The `1Delete`0 menu item in the `1Edit`0 menu is used to remove
the current script item from the script. The script item is 
not saved in the Clipboard.

see also `4Cut`0, `4Copy`0, and `4Paste`0
■

[Labels...]
The `1Labels...`0 menu item in the `1Edit`0 menu is used to edit
the list of labels used in the script. The `1Labels Maintenance`0
dialog box will be presented so that labels may be added or 
deleted.

     ╔════════════ Label Maintenance ═══════════╗
     ║                                          ║
     ║  ┌────── Label ──────┐                   ║
     ║  │- END              ▓        Add... ▄   ║
     ║  │                   ▓      ▀▀▀▀▀▀▀▀▀▀   ║
     ║  │                   ▓       Remove  ▄   ║
     ║  │                   ▓      ▀▀▀▀▀▀▀▀▀▀   ║
     ║  │                   ▓        Use    ▄   ║
     ║  │                   ▓      ▀▀▀▀▀▀▀▀▀▀   ║
     ║  │                   ▓        Done   ▄   ║
     ║  └──────────────────        ▀▀▀▀▀▀▀▀▀▀   ║
     ║   -: label not in script                 ║
     ╚══════════════════════════════════════════╝

■


[Add]
The `1Add`0 menu is used to add script commands.
■

[Detail]
The `1Detail`0 menu is used to modify a script command. Not
all script commands have a detail dialog box. A `2+`0 sign
will be displayed to the right of the current script command
if it has a detail dialog box.

■

[Help]
The `1Help`0 menu consists of commands to invoke the help 
system or to display program information.
■

[Topics]
The `1Topics`0 menu item will display the `1Help`0 topics for
`1GoScript`0.
■

[Help On Help]
The `1Help On Help`0 menu item will display help for the
current script command. Pressing `2F1`0 will also do the same.

■


[About]
The `1About`0 menu item displays information about `1GoScript`0
and the number of lines in the script and how much memory is
left for the script.
■

@@EndHelp
